GraphicsDesigner messages
The messages in the following tables are added to the message queue by GraphicsDesigner, and sent to window functions when they are processed by XgrProcessMessages() . No function is called by XgrProcessMessages() if the window the message relates to has no window function.

window and grid messages are distinguished by w or g before the message name.

g MouseDown A mouse button was depressed.
g MouseDrag A mouse button was down when the mouse moved.
g MouseEnter A mouse cursor entered a grid.
g MouseExit A mouse cursor exited a grid.
g MouseMove A mouse cursor moved.
g MouseUp A mouse button was released.
g Redraw A grid should redraw itself and have its kids redraw themselves.
g RedrawGrid A grid should redraw itself (but not its kids).
g TimeOut A grid timer has timed out (counted down to zero).
w WindowDeselected A window was deselected (because another was selected).
w WindowDestroyed A window was destroyed (by user or program).
w WindowDisplayed A window was just displayed (became visible).
w WindowHidden A window was just hidden (is no longer visible).
w WindowKeyDown A keyobard key was depressed with keyboard focus in window.
w WindowKeyUp A keyboard key was released with keyboard focus in window.
w WindowMaximized A window was maximized (asked to fill the screen).
w WindowMinimized A window was minimized (is now a small icon).
w WindowMouseDown A mouse button was depressed with mouse focus in window.
w WindowMouseDrag A mouse button was down when mouse moved with mouse focus in window.
w WindowMouseEnter A mouse cursor entered a grid in the window with mouse focus.
w WindowMouseExit A mouse cursor exited a grid in the window with mouse focus.
w WindowMouseMove A mouse cursor moved in the window with mouse focus.
w WindowMouseUp A mouse button was released with muse focus in window.
w WindowRedraw A window was exposed partially or totally and needs redrawing.
w WindowResized A window was moved and/or resized (its grids might need resizing).
w WindowSelected A window was selected (user pressed mouse button on window).

g MouseDown ( grid, #MouseDown, x, y, state, time, 0, grid )
g MouseDrag ( grid, #MouseDrag, x, y, state, time, 0, grid )
g MouseEnter ( grid, #MouseEnter, x, y, state, time, 0, grid )
g MouseExit ( grid, #MouseExit, x, y, state, time, 0, grid )
g MouseMove ( grid, #MouseMove, x, y, state, time, 0, grid )
g MouseUp ( grid, #MouseUp, x, y, state, time, 0, grid )
g Redraw ( grid, #Redraw, x, y, width, height, 0, grid )
g RedrawGrid ( grid, #RedrawGrid, x, y, width, height, 0, grid )
g TimeOut ( grid, #TimeOut, 0, 0, 0, 0, 0, grid )
w WindowDeselected ( window, #WindowDeselected, 0, 0, 0, 0, 0, window )
w WindowDestroyed ( window, #WindowDestroyed, 0, 0, 0, 0, 0, window )
w WindowDisplayed ( window, #WindowDisplayed, 0, 0, 0, 0, 0, window )
w WindowHidden ( window, #WindowHidden, 0, 0, 0, 0, 0, window )
w WindowKeyDown ( window, #WindowKeyDown, x, y, state, time, 0, window )
w WindowKeyUp ( window, #WindowKeyUp, x, y, state, time, 0, window )
w WindowMaximized ( window, #WindowMaximized, 0, 0, 0, 0, 0, window )
w WindowMinimized ( window, #WindowMinimized, 0, 0, 0, 0, 0, window )
w WindowMouseDown ( window, #WindowMouseDown, x, y, state, time, 0, grid )
w WindowMouseDrag ( window, #WindowMouseDrag, x, y, state, time, 0, grid )
w WindowMouseEnter ( window, #WindowMouseEnter, x, y, state, time, 0, grid )
w WindowMouseExit ( window, #WindowMouseExit, x, y, state, time, 0, grid )
w WindowMouseMove ( window, #WindowMouseMove, x, y, state, time, 0, grid )
w WindowMouseUp ( window, #WindowMouseUp, x, y, state, time, 0, grid )
w WindowRedraw ( window, #WindowRedraw, x, y, width, height, 0, window )
w WindowResized ( window, #WindowResized, x, y, width, height, 0, window )
w WindowSelected ( window, #WindowSelected, 0, 0, 0, 0, 0, window )